-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Change default inventory key to E, default Aux1 key to F #16053
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
IMHO... why change the default? If folks want to change it, they have the option. |
Please review the discussion in #16052. The short answer is that the default inventory key of "I" cannot be pressed without looking down at the keyboard and Luanti should come with solid defaults. As a case study Minecraft started with inventory key being "I" but switched to "E" after user feedback. |
Adding to milestone, because I think we should decide this before release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works. I support this.
@Zughy I understand the sentiment, just remember that existing players would not have to "rewire their brains" since their existing local controls settings won't change. This is primarily targeted to new players and a general best-by-default UX improvement which should make Luanti in general more attractive and prevent early frustration in playing using the engine (like my friend and I experienced). You mention that you have a game as a soft landing from people coming from Minecraft - we should ensure those new players continue to come. I completely agree that there should be per-game controls and mod-suggested keyboard defaults. You can view this PR as a stepping stone toward greater acceptance of similar changes. Once I implement encryption over Luanti's networking stack I would be happy to help you work on a per-game controls feature. I don't want to get this PR held up however because I very strongly feel it is necessary from a new player perspective. |
Right now modders have no way to get the key associated to the action. Meaning that if there is a HUD telling that Action A = AUX1, the default might be E or F according to the client version (and you'll either write E or F, "AUX1" doesn't make sense to the average player). So if our HUDs are already broken for mobile users and people with custom keybinding, now they'll always be broken even for PC players depending on LT version because we had to pick whether to stick to E or F. Unless, which is more coding, we display two different texts by checking the version. It'd be fine if this were going in the right direction, but it's not: when/if all the keys become available like in a real engine, we'll need to change the code again (hardcoded AUX1 (E, F) or TAB). No, thanks.
Then let's plan this for 5.13, in 3 months, alongside what I've requested*, so games like mine don't have to be punished for the "greater good". Air quotes because I'd like to remind that my server was the only one being featured twice in a row at FOSDEM at the Luanti booth, so again, we're not talking about a niche game with a couple of users per day. I expect Luanti not to complicate the life of those games that actually make it more popular, especially if those games did nothing wrong. Moreover, last time I checked we wanted to be as much detached as possible from being a Minecraft clone, yet this move only makes life easier for Minecraft clones, potentially worsening it for games that are not interested in being one. *It's obvious that in order to do that, we need to have a clear direction and not just merge whatever we want. But this is a horse of a different colour |
This comment was marked as resolved.
This comment was marked as resolved.
I agree with Zughy, this change will make any existing tutorials/videos confusing to new users as they will have the old inventory/Aux 1 key being used. If new players are having such trouble finding the inventory key it sounds like we should do a better job exposing the keys to new users, and letting them know that they can change them to whatever they'd like. |
@NathanSalapat This is not an issue with finding the inventory key. The point of the PR is that the I kind of expected some resistance: Minecraft forums had some people who still preferred the |
That makes totally sense, back then I was playing Minecraft using E as well. The issue here is that Minecraft was and still is a game. Here, on the contrary, we're talking about a gaming platform, which is different. We can't just ignore some games to benefit others |
First I want to clarify one point:
Changing the default will change it for everyone, except if they have explicitly set these keys in their config (e.g. by changing them
This is true but largely unavoidable. If we think that In the same breath as the dialog for #16049 we can even inform players that the keys have changed, provide convenient options
Keeping the default key bindings the same forever was never realistic, and you were relying on the peculiarity of Luanti using character-based keybindings instead of scancodes. In fact all QWERTZ users now need to press a totally different key to zoom. I do not see the same opposition to that change.
I agree. However, this is not what this PR is about. If it was realistic to have flexible keys ready for 5.13 I could be convinced to hold off of this change, but we know this isn't the case.
Can you elaborate on why this is a drawback for certain games? The whole premise of this PR is that
Don't you have this anyway to account for mobile players? While it won't work with in-game graphics the proper solution to this is an escape sequence like hecks proposed some day that dynamically expands to whatever key AUX1 is bound to on each client. |
In addition to this, the old keybinding menu (before #15791; i.e., 5.11 and earlier ...) only saved keybindings that were different from the default value, and binding a key to its default clears the setting: luanti/src/gui/guiKeyChangeMenu.cpp Lines 208 to 216 in 0cb7735
Related: #14788. Although I would instead prefer introducing an escape sequence that gets expanded client-side. Also: graphical buttons are hard to get right while also allowing styling. I can imagine that we merge this after addressing #14788, but given that said feature will not be implemented in the current release cycle I am not sure whether it is a good idea to break keybinding defaults in two consecutive releases instead of merging this PR into 5.12. |
To do
This PR is Ready for Review.
/for-players/controls/
How to test
Launch a new game that uses inventory and Aux1 (e.g. VoxeLibre). Press E for inventory. Hold F to run.